package com.reggie.console.dto;

import com.reggie.common.enums.ResponseCode;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Objects;

/**
 * 通用返回结果，服务器响应的数据最终都会封装成此对象
 *
 * @param <T> 数据类型
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class ResultDTO<T> extends BaseResultDTO<T> {

    /**
     * 描述统一格式中的编码，用于区分操作
     */
    private String code;

    /**
     * 描述统一格式中的数据
     */
    private T data;

    /**
     * 描述统一格式中的消息
     */
    private String msg;

    @Override
    public boolean isSuccess() {
        return Objects.equals(code, ResponseCode.OK.getCode());
    }

}
